自動化 (Automation) 指的是寫出一個程式,讓原本需要人工手動執行的多個步驟變成全部都由程式自動執行。
自動化的好處很多,像是可以避免枯燥重複的工作、減少人為疏失、加速流程增加效率等等,所以我們常常可以看到安裝東西的自動化或著是程式測試的自動化。
但是並不代表所有東西都適合用自動化來做,比如說很久才會需要做一次的事、太過複雜的事、經常改變的事等等,在這種情況下,我們可能花費更多的時間在撰寫自動化程式,簡單來說就是:不划算。
當我們要做自動化的東西時,要先想想做出自動化程式之後要多久才能回收時間成本。
比如說,小明花了 10 小時寫了一個自動產生課表的程式,這個東西可以在小明大學四年 8 個學期每學期自動幫小明產生好課表,超讚的對吧?
但是,小明寫完之後才發現他每次手動做課表只需要 30 分鐘,全部加起來也才需要 4 個小時就能做好全部的課表了,而且而且,還不能確定抓課表程式所需要的學校網頁會不會更新讓他的程式失效。
這樣是不是小明就浪費了 6 個小時?(甚至可能 9.5 小時,如果學校第二天就把網站翻新)
如果悲傷指數可以如此計算:
小明不就沒事找事做增加悲傷指數?
就在小明自責的想說自己為何不在寫程式之前想清楚時,他看到了這個:
等等,應該是這個:
噢不,等等,看來我的電腦被八腳貓軍團入侵了。
應該是這個:
對沒錯,就是 GitHub。
小明想說既然都寫出來了,就開源出去給大家用吧!於是他就把程式開源丟上去了。
沒想到過了不久,小明逐漸的開心起來了,原來是因為他的程式被很多同學拿去用了,節省了同學們的時間,所以小明的悲傷指數就漸漸轉負了。
這個故事告訴了我們小明是工具人在寫自動化程式之前請先評估其必要性,以及開源是個好東西。
喔對了,還有一點非常重要的是:自動化程式可以給任何人用。當你把程式寫好之後,隨便一個人都能很輕鬆的做好相同的工作,比起全人工有許多步驟的手續,在工作交接上相對比較方便。
我們在接下來幾天中,將用 Puppeteer (一款 End-to-End 測試工具) 等工具來做出大學選課加退選時自動刷課程狀態的程式,並且接續下個主題 Messaging Bot 在有空位可以加選時用通訊軟體通知。
特別聲明:我自己的課在程式寫好前就滿了,所以我不需要不想要也沒有用這種類型的程式來幫我選課,純粹是好奇心讓我想嘗試做這個東西。
以 9/26 20:00 ~ 9/27 20:00 文章觀看數增加值排名
+344
Day 1 無限手套 AWS 版:掌控一切的 5 + 1 雲端必學主題
+288
Day 2 AWS 是什麼?又為何企業這麼需要 AWS 人才?
+285
Day 3 雲端四大平台比較:AWS . GCP . Azure . Alibaba
+273
Day 4 網路寶石:AWS VPC Region/AZ vs VPC/Subnet 關係介紹
+262
Day 5 網路寶石:AWS VPC 架構 Routes & Security (上)
+244
Day 6 網路寶石:AWS VPC 架構 Routes & Security (下)
+240
Day 7 網路寶石:【Lab】VPC外網 Public Subnet to the Internet (IGW) (上)
+238
Day 17 儲存寶石:【Lab】S3 儲存類別 & 生命週期管理 (上)
+236
Day 8 網路寶石:【Lab】VPC外網 Public Subnet to the Internet (IGW) (下)
+234
Day 10 運算寶石:EC2 儲存資源 Instance Store vs Elastic Block Storage (EBS)
多元性消失了,這是壟斷!